# React Hook
useState(), useEffect() μ μ
리μ‘νΈμ Componentλ 'ν΄λμ€ν'κ³Ό 'ν¨μν'μΌλ‘ ꡬμ±λμ΄ μλ€.
κΈ°μ‘΄μ ν΄λμ€ν μ»΄ν¬λνΈμμλ λͺ κ°μ§ μ΄λ €μμ΄ μ‘΄μ¬νλ€.
- μν(State) λ‘μ§ μ¬μ¬μ© μ΄λ €μ
- μ½λκ° λ³΅μ‘ν΄μ§
- κ΄λ ¨ μλ λ‘μ§λ€μ΄ ν¨κ» μμ¬ μμ΄ μ΄ν΄κ° νλ¬
μ΄μ κ°μ μ΄λ €μμ ν΄κ²°νκΈ° μν΄, 'Hook'μ΄ λμ λμλ€. (16.8 λ²μ λΆν°)
# Hook
- ν¨μν μ»΄ν¬λνΈμμ Stateμ Lifecycle κΈ°λ₯μ μ°λν΄μ£Όλ ν¨μ
- 'ν΄λμ€ν'μμλ λμνμ§ μμΌλ©°, 'ν¨μν'μμλ§ μ¬μ© κ°λ₯
# useState
κΈ°λ³Έμ μΈ HookμΌλ‘ μνκ΄λ¦¬λ₯Ό ν΄μΌν λ μ¬μ©νλ©΄ λλ€.
μνλ₯Ό λ³κ²½ν λλ, set
μΌλ‘ μ€ μ΄λ¦μ ν¨μλ₯Ό νΈμΆνλ€.
const [posts, setPosts] = useState([]); // λΉκ΅¬μ‘°ν ν λΉ λ¬Έλ²
useState([]);
μ κ°μ΄ ( )
μμ μ΄κΈ°νλ₯Ό μ€μ ν΄μ€ μ μλ€. νμ¬ μμ λ λΉ λ°°μ΄μ λ§λ€μ΄ λ μν©μΈ κ²μ΄λ€.
# useEffect
μ»΄ν¬λνΈκ° λ λλ§ λ λλ§λ€ νΉμ μμ μ μννλλ‘ μ€μ ν μ μλ Hook
'ν΄λμ€' μ»΄ν¬λνΈμ componentDidMount()μ componentDidUpdate()μ μν μ λμμ νλ€κ³ λ΄λ λλ€.
useEffect(() => {
console.log("λ λλ§ μλ£");
console.log(posts);
});
postsκ° λ³κ²½λΌ 리λ λλ§μ΄ λλ©΄, useEffectκ° μ€νλλ€.